package com.example.ass7.animation;

/**
 * @author Meirav Ben Izhak
 * @param <T>
 */
public interface Menu<T> extends Animation {
    /**
     * @param key
     *            key
     * @param message
     *            message
     * @param returnVal
     *            returnVal
     */
    void addSelection(String key,
            String message,
            T returnVal);

    /**
     * @return T
     */
    T getStatus();

    /**
     * @param key
     *            key
     * @param message
     *            message
     * @param subMenu
     *            subMenu
     */
    void addSubMenu(String key,
            String message,
            Menu<T> subMenu);
}
